package edu.bu.cs511.p5;

/**
 * RR Scheduler: A round robin scheduler.  Tasks are scheduled in a
 * very simple manner one after another always reinserting a task into
 * the end of the runqueue when it has executed once. <p/>
 *
 * For RI and AF, see GenericScheduler.<p/>
 *
 * Can remove the synchonized from the methods and attach it to datastructures
 * if there are scalability issues. <p/>
 *
 * <p/>
 * 2/16/06, Gabriel Parmer: (see OldRRScheduler.java)<p/>
 *
 * 4/10/06, Gabriel Parmer: migrated from FPScheduler, this is the
 * second go at a RRScheduler as this can be implemented with large
 * code-reuse from the GenericScheduler.
 */
public class RRScheduler extends GenericScheduler {
    /**
     * Constructor to create a round robin scheduler.
     * <p/>
     * @REQUIRES none
     */
    public RRScheduler() {
        super();
    }

    /**
     * Constructor to create a round robin scheduler with a specified
     * concurrency.
     *
     * <p/>
     * @REQUIRES maxConcurr is the maximum value for the concurrency
     * supported by this scheduler, or the maximum number of threads it will
     * pass to children.
     */
    public RRScheduler(int maxConcurr) {
        super(maxConcurr);
    }
}
